package com.autohome.wz.business.order.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CfwChargeNotificationOrderInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CfwChargeNotificationOrderInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdIsNull() {
            addCriterion("auto_user_id is null");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdIsNotNull() {
            addCriterion("auto_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdEqualTo(Integer value) {
            addCriterion("auto_user_id =", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdNotEqualTo(Integer value) {
            addCriterion("auto_user_id <>", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdGreaterThan(Integer value) {
            addCriterion("auto_user_id >", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("auto_user_id >=", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdLessThan(Integer value) {
            addCriterion("auto_user_id <", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("auto_user_id <=", value, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdIn(List<Integer> values) {
            addCriterion("auto_user_id in", values, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdNotIn(List<Integer> values) {
            addCriterion("auto_user_id not in", values, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdBetween(Integer value1, Integer value2) {
            addCriterion("auto_user_id between", value1, value2, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andAutoUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("auto_user_id not between", value1, value2, "autoUserId");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqIsNull() {
            addCriterion("start_charge_seq is null");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqIsNotNull() {
            addCriterion("start_charge_seq is not null");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqEqualTo(String value) {
            addCriterion("start_charge_seq =", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqNotEqualTo(String value) {
            addCriterion("start_charge_seq <>", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqGreaterThan(String value) {
            addCriterion("start_charge_seq >", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqGreaterThanOrEqualTo(String value) {
            addCriterion("start_charge_seq >=", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqLessThan(String value) {
            addCriterion("start_charge_seq <", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqLessThanOrEqualTo(String value) {
            addCriterion("start_charge_seq <=", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqLike(String value) {
            addCriterion("start_charge_seq like", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqNotLike(String value) {
            addCriterion("start_charge_seq not like", value, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqIn(List<String> values) {
            addCriterion("start_charge_seq in", values, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqNotIn(List<String> values) {
            addCriterion("start_charge_seq not in", values, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqBetween(String value1, String value2) {
            addCriterion("start_charge_seq between", value1, value2, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqNotBetween(String value1, String value2) {
            addCriterion("start_charge_seq not between", value1, value2, "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andConnectorIdIsNull() {
            addCriterion("connector_id is null");
            return (Criteria) this;
        }

        public Criteria andConnectorIdIsNotNull() {
            addCriterion("connector_id is not null");
            return (Criteria) this;
        }

        public Criteria andConnectorIdEqualTo(String value) {
            addCriterion("connector_id =", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdNotEqualTo(String value) {
            addCriterion("connector_id <>", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdGreaterThan(String value) {
            addCriterion("connector_id >", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdGreaterThanOrEqualTo(String value) {
            addCriterion("connector_id >=", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdLessThan(String value) {
            addCriterion("connector_id <", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdLessThanOrEqualTo(String value) {
            addCriterion("connector_id <=", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdLike(String value) {
            addCriterion("connector_id like", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdNotLike(String value) {
            addCriterion("connector_id not like", value, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdIn(List<String> values) {
            addCriterion("connector_id in", values, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdNotIn(List<String> values) {
            addCriterion("connector_id not in", values, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdBetween(String value1, String value2) {
            addCriterion("connector_id between", value1, value2, "connectorId");
            return (Criteria) this;
        }

        public Criteria andConnectorIdNotBetween(String value1, String value2) {
            addCriterion("connector_id not between", value1, value2, "connectorId");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(String value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(String value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(String value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(String value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(String value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(String value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLike(String value) {
            addCriterion("start_time like", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotLike(String value) {
            addCriterion("start_time not like", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<String> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<String> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(String value1, String value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(String value1, String value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("end_time is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("end_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(String value) {
            addCriterion("end_time =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(String value) {
            addCriterion("end_time <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(String value) {
            addCriterion("end_time >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(String value) {
            addCriterion("end_time >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(String value) {
            addCriterion("end_time <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(String value) {
            addCriterion("end_time <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLike(String value) {
            addCriterion("end_time like", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotLike(String value) {
            addCriterion("end_time not like", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<String> values) {
            addCriterion("end_time in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<String> values) {
            addCriterion("end_time not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(String value1, String value2) {
            addCriterion("end_time between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(String value1, String value2) {
            addCriterion("end_time not between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andTotalPowerIsNull() {
            addCriterion("total_power is null");
            return (Criteria) this;
        }

        public Criteria andTotalPowerIsNotNull() {
            addCriterion("total_power is not null");
            return (Criteria) this;
        }

        public Criteria andTotalPowerEqualTo(BigDecimal value) {
            addCriterion("total_power =", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerNotEqualTo(BigDecimal value) {
            addCriterion("total_power <>", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerGreaterThan(BigDecimal value) {
            addCriterion("total_power >", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_power >=", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerLessThan(BigDecimal value) {
            addCriterion("total_power <", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_power <=", value, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerIn(List<BigDecimal> values) {
            addCriterion("total_power in", values, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerNotIn(List<BigDecimal> values) {
            addCriterion("total_power not in", values, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_power between", value1, value2, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalPowerNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_power not between", value1, value2, "totalPower");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyIsNull() {
            addCriterion("total_elec_money is null");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyIsNotNull() {
            addCriterion("total_elec_money is not null");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyEqualTo(BigDecimal value) {
            addCriterion("total_elec_money =", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyNotEqualTo(BigDecimal value) {
            addCriterion("total_elec_money <>", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyGreaterThan(BigDecimal value) {
            addCriterion("total_elec_money >", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_elec_money >=", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyLessThan(BigDecimal value) {
            addCriterion("total_elec_money <", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_elec_money <=", value, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyIn(List<BigDecimal> values) {
            addCriterion("total_elec_money in", values, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyNotIn(List<BigDecimal> values) {
            addCriterion("total_elec_money not in", values, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_elec_money between", value1, value2, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalElecMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_elec_money not between", value1, value2, "totalElecMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyIsNull() {
            addCriterion("total_sevice_money is null");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyIsNotNull() {
            addCriterion("total_sevice_money is not null");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyEqualTo(BigDecimal value) {
            addCriterion("total_sevice_money =", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyNotEqualTo(BigDecimal value) {
            addCriterion("total_sevice_money <>", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyGreaterThan(BigDecimal value) {
            addCriterion("total_sevice_money >", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_sevice_money >=", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyLessThan(BigDecimal value) {
            addCriterion("total_sevice_money <", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_sevice_money <=", value, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyIn(List<BigDecimal> values) {
            addCriterion("total_sevice_money in", values, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyNotIn(List<BigDecimal> values) {
            addCriterion("total_sevice_money not in", values, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_sevice_money between", value1, value2, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalSeviceMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_sevice_money not between", value1, value2, "totalSeviceMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyIsNull() {
            addCriterion("total_money is null");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyIsNotNull() {
            addCriterion("total_money is not null");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyEqualTo(BigDecimal value) {
            addCriterion("total_money =", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyNotEqualTo(BigDecimal value) {
            addCriterion("total_money <>", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyGreaterThan(BigDecimal value) {
            addCriterion("total_money >", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_money >=", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyLessThan(BigDecimal value) {
            addCriterion("total_money <", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_money <=", value, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyIn(List<BigDecimal> values) {
            addCriterion("total_money in", values, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyNotIn(List<BigDecimal> values) {
            addCriterion("total_money not in", values, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_money between", value1, value2, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andTotalMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_money not between", value1, value2, "totalMoney");
            return (Criteria) this;
        }

        public Criteria andStayCostIsNull() {
            addCriterion("stay_cost is null");
            return (Criteria) this;
        }

        public Criteria andStayCostIsNotNull() {
            addCriterion("stay_cost is not null");
            return (Criteria) this;
        }

        public Criteria andStayCostEqualTo(BigDecimal value) {
            addCriterion("stay_cost =", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostNotEqualTo(BigDecimal value) {
            addCriterion("stay_cost <>", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostGreaterThan(BigDecimal value) {
            addCriterion("stay_cost >", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("stay_cost >=", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostLessThan(BigDecimal value) {
            addCriterion("stay_cost <", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostLessThanOrEqualTo(BigDecimal value) {
            addCriterion("stay_cost <=", value, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostIn(List<BigDecimal> values) {
            addCriterion("stay_cost in", values, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostNotIn(List<BigDecimal> values) {
            addCriterion("stay_cost not in", values, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("stay_cost between", value1, value2, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStayCostNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("stay_cost not between", value1, value2, "stayCost");
            return (Criteria) this;
        }

        public Criteria andStopReasonIsNull() {
            addCriterion("stop_reason is null");
            return (Criteria) this;
        }

        public Criteria andStopReasonIsNotNull() {
            addCriterion("stop_reason is not null");
            return (Criteria) this;
        }

        public Criteria andStopReasonEqualTo(Integer value) {
            addCriterion("stop_reason =", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonNotEqualTo(Integer value) {
            addCriterion("stop_reason <>", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonGreaterThan(Integer value) {
            addCriterion("stop_reason >", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonGreaterThanOrEqualTo(Integer value) {
            addCriterion("stop_reason >=", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonLessThan(Integer value) {
            addCriterion("stop_reason <", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonLessThanOrEqualTo(Integer value) {
            addCriterion("stop_reason <=", value, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonIn(List<Integer> values) {
            addCriterion("stop_reason in", values, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonNotIn(List<Integer> values) {
            addCriterion("stop_reason not in", values, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonBetween(Integer value1, Integer value2) {
            addCriterion("stop_reason between", value1, value2, "stopReason");
            return (Criteria) this;
        }

        public Criteria andStopReasonNotBetween(Integer value1, Integer value2) {
            addCriterion("stop_reason not between", value1, value2, "stopReason");
            return (Criteria) this;
        }

        public Criteria andSumPeriodIsNull() {
            addCriterion("sum_period is null");
            return (Criteria) this;
        }

        public Criteria andSumPeriodIsNotNull() {
            addCriterion("sum_period is not null");
            return (Criteria) this;
        }

        public Criteria andSumPeriodEqualTo(Integer value) {
            addCriterion("sum_period =", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodNotEqualTo(Integer value) {
            addCriterion("sum_period <>", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodGreaterThan(Integer value) {
            addCriterion("sum_period >", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodGreaterThanOrEqualTo(Integer value) {
            addCriterion("sum_period >=", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodLessThan(Integer value) {
            addCriterion("sum_period <", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodLessThanOrEqualTo(Integer value) {
            addCriterion("sum_period <=", value, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodIn(List<Integer> values) {
            addCriterion("sum_period in", values, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodNotIn(List<Integer> values) {
            addCriterion("sum_period not in", values, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodBetween(Integer value1, Integer value2) {
            addCriterion("sum_period between", value1, value2, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andSumPeriodNotBetween(Integer value1, Integer value2) {
            addCriterion("sum_period not between", value1, value2, "sumPeriod");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatIsNull() {
            addCriterion("start_charge_seq_stat is null");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatIsNotNull() {
            addCriterion("start_charge_seq_stat is not null");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatEqualTo(Integer value) {
            addCriterion("start_charge_seq_stat =", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatNotEqualTo(Integer value) {
            addCriterion("start_charge_seq_stat <>", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatGreaterThan(Integer value) {
            addCriterion("start_charge_seq_stat >", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatGreaterThanOrEqualTo(Integer value) {
            addCriterion("start_charge_seq_stat >=", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatLessThan(Integer value) {
            addCriterion("start_charge_seq_stat <", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatLessThanOrEqualTo(Integer value) {
            addCriterion("start_charge_seq_stat <=", value, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatIn(List<Integer> values) {
            addCriterion("start_charge_seq_stat in", values, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatNotIn(List<Integer> values) {
            addCriterion("start_charge_seq_stat not in", values, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatBetween(Integer value1, Integer value2) {
            addCriterion("start_charge_seq_stat between", value1, value2, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqStatNotBetween(Integer value1, Integer value2) {
            addCriterion("start_charge_seq_stat not between", value1, value2, "startChargeSeqStat");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNull() {
            addCriterion("is_del is null");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNotNull() {
            addCriterion("is_del is not null");
            return (Criteria) this;
        }

        public Criteria andIsDelEqualTo(Integer value) {
            addCriterion("is_del =", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotEqualTo(Integer value) {
            addCriterion("is_del <>", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThan(Integer value) {
            addCriterion("is_del >", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_del >=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThan(Integer value) {
            addCriterion("is_del <", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThanOrEqualTo(Integer value) {
            addCriterion("is_del <=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelIn(List<Integer> values) {
            addCriterion("is_del in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotIn(List<Integer> values) {
            addCriterion("is_del not in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelBetween(Integer value1, Integer value2) {
            addCriterion("is_del between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotBetween(Integer value1, Integer value2) {
            addCriterion("is_del not between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeIsNull() {
            addCriterion("created_stime is null");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeIsNotNull() {
            addCriterion("created_stime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeEqualTo(Date value) {
            addCriterion("created_stime =", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeNotEqualTo(Date value) {
            addCriterion("created_stime <>", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeGreaterThan(Date value) {
            addCriterion("created_stime >", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeGreaterThanOrEqualTo(Date value) {
            addCriterion("created_stime >=", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeLessThan(Date value) {
            addCriterion("created_stime <", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeLessThanOrEqualTo(Date value) {
            addCriterion("created_stime <=", value, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeIn(List<Date> values) {
            addCriterion("created_stime in", values, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeNotIn(List<Date> values) {
            addCriterion("created_stime not in", values, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeBetween(Date value1, Date value2) {
            addCriterion("created_stime between", value1, value2, "createdStime");
            return (Criteria) this;
        }

        public Criteria andCreatedStimeNotBetween(Date value1, Date value2) {
            addCriterion("created_stime not between", value1, value2, "createdStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeIsNull() {
            addCriterion("modified_stime is null");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeIsNotNull() {
            addCriterion("modified_stime is not null");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeEqualTo(Date value) {
            addCriterion("modified_stime =", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeNotEqualTo(Date value) {
            addCriterion("modified_stime <>", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeGreaterThan(Date value) {
            addCriterion("modified_stime >", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeGreaterThanOrEqualTo(Date value) {
            addCriterion("modified_stime >=", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeLessThan(Date value) {
            addCriterion("modified_stime <", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeLessThanOrEqualTo(Date value) {
            addCriterion("modified_stime <=", value, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeIn(List<Date> values) {
            addCriterion("modified_stime in", values, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeNotIn(List<Date> values) {
            addCriterion("modified_stime not in", values, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeBetween(Date value1, Date value2) {
            addCriterion("modified_stime between", value1, value2, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andModifiedStimeNotBetween(Date value1, Date value2) {
            addCriterion("modified_stime not between", value1, value2, "modifiedStime");
            return (Criteria) this;
        }

        public Criteria andStartChargeSeqLikeInsensitive(String value) {
            addCriterion("upper(start_charge_seq) like", value.toUpperCase(), "startChargeSeq");
            return (Criteria) this;
        }

        public Criteria andConnectorIdLikeInsensitive(String value) {
            addCriterion("upper(connector_id) like", value.toUpperCase(), "connectorId");
            return (Criteria) this;
        }

        public Criteria andStartTimeLikeInsensitive(String value) {
            addCriterion("upper(start_time) like", value.toUpperCase(), "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLikeInsensitive(String value) {
            addCriterion("upper(end_time) like", value.toUpperCase(), "endTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}